﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Data.AID;
using Business.AID;

namespace Presentation.AID.WebPart.Presentation.AID.VWPEditarMeta
{
    public partial class VWPEditarMetaUserControl : UserControl
    {
        private int MetaId 
        {
            get 
            {
                object obj = Request.QueryString["Idm"];
                return (obj != null) ? Convert.ToInt32(obj) : 0;
            }
        }
        public int FormID
        {
            get 
            {
                object obj = Request.QueryString["f"];
                return (obj != null) ? Convert.ToInt32(obj) : 0;
            }
        }


        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack) 
            {
                PreencheCampo();
            }
        }

        public void PreencheCampo()
        {
            Meta meta = new MetaBO().GetGoalById(MetaId);

            if (meta == null) 
            {
                throw new Exception("Meta não encontrada.");
            }

            txtDescricao.Text = meta.Titulo;
            txtFerramentaMedicao.Text = meta.FerramentaMedicao;
            txtPeso.Text = meta.Peso.ToString();

            if (meta.Aprovacao == "Aprovado")
            {
                txtDescricao.Enabled = false;
                txtFerramentaMedicao.Enabled = false;
            }

        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            Boolean pesoAlterado = false;
            int peso;
            int.TryParse(txtPeso.Text, out peso);

            Meta oldMeta = new MetaBO().GetGoalById(MetaId);

            if (oldMeta.Aprovacao == "Aprovado" && oldMeta.Peso != peso)
            {
                pesoAlterado = true;
            }
            else
            {
                pesoAlterado = oldMeta.PesoAlterado;
            }
            
            Meta newMeta = new Meta()
            {
                Id = MetaId,
                Titulo = txtDescricao.Text,
                FerramentaMedicao = txtFerramentaMedicao.Text,
                Peso = peso,
                PesoAlterado = pesoAlterado
            };

            MetaBO metaBO = new MetaBO();
            metaBO.EditMeta(newMeta);

            string url = String.Format(@"/SitePages/MinhasMetas.aspx?f={0}", FormID);

            Response.Redirect(url);
        }
        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            string url = String.Format(@"/SitePages/MinhasMetas.aspx?f={0}", FormID);
            Response.Redirect(url);
        }
    }
}
